package com.ruoyi.shopping.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品管理对象 mall_product
 * 
 * @author cws
 * @date 2024-11-19
 */
public class MallProduct extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品唯一标识符 */
    private Long id;

    /** 品牌id */
    private Long brandId;

    /** 商品所属地州ID，与regions表关联 */
    private Long regionId;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String name;

    /** 商品描述 */
    @Excel(name = "商品描述")
    private String description;

    /** 产品详情网页内容 */
    private String detailHtml;

    /** 商品价格 */
    @Excel(name = "商品价格")
    private BigDecimal price;

    /** 库存数量 */
    @Excel(name = "库存数量")
    private Long stockQuantity;

    /** 商品默认图片 */
    @Excel(name = "商品默认图片")
    private String defaultImg;

    /** 画册图片，连产品图片限制为5张，以逗号分割 */
    @Excel(name = "画册图片，连产品图片限制为5张，以逗号分割")
    private String albumPics;

    /** 以逗号分割的产品服务：1-&gt;无忧退货；2-&gt;快速退款；3-&gt;免费包邮 */
    @Excel(name = "以逗号分割的产品服务：1-&gt;无忧退货；2-&gt;快速退款；3-&gt;免费包邮")
    private String serviceIds;

    /** 审核状态：0-&gt;未审核；1-&gt;审核通过 */
    @Excel(name = "审核状态：0-&gt;未审核；1-&gt;审核通过")
    private Long verifyStatus;

    /** 促销价格 */
    @Excel(name = "促销价格")
    private BigDecimal promotionPrice;

    /** 初始库存 */
    @Excel(name = "初始库存")
    private Long stock;

    /** 库存预警值 */
    @Excel(name = "库存预警值")
    private Long lowStock;

    /** 赠送的积分 */
    @Excel(name = "赠送的积分")
    private Long giftPoint;

    /** 促销类型：0-&gt;没有促销使用原价;1-&gt;使用阶梯价格；2-&gt;使用满减价格 */
    @Excel(name = "促销类型：0-&gt;没有促销使用原价;1-&gt;使用阶梯价格；2-&gt;使用满减价格")
    private Long promotionType;

    /** 商品状态：可售或缺货 */
    @Excel(name = "商品状态：可售或缺货")
    private String status;

    /** 标记是够删除，1为删除，0为正常 */
    private Long isDelete;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBrandId(Long brandId) 
    {
        this.brandId = brandId;
    }

    public Long getBrandId() 
    {
        return brandId;
    }
    public void setRegionId(Long regionId) 
    {
        this.regionId = regionId;
    }

    public Long getRegionId() 
    {
        return regionId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setDetailHtml(String detailHtml) 
    {
        this.detailHtml = detailHtml;
    }

    public String getDetailHtml() 
    {
        return detailHtml;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setStockQuantity(Long stockQuantity) 
    {
        this.stockQuantity = stockQuantity;
    }

    public Long getStockQuantity() 
    {
        return stockQuantity;
    }
    public void setDefaultImg(String defaultImg) 
    {
        this.defaultImg = defaultImg;
    }

    public String getDefaultImg() 
    {
        return defaultImg;
    }
    public void setAlbumPics(String albumPics) 
    {
        this.albumPics = albumPics;
    }

    public String getAlbumPics() 
    {
        return albumPics;
    }
    public void setServiceIds(String serviceIds) 
    {
        this.serviceIds = serviceIds;
    }

    public String getServiceIds() 
    {
        return serviceIds;
    }
    public void setVerifyStatus(Long verifyStatus) 
    {
        this.verifyStatus = verifyStatus;
    }

    public Long getVerifyStatus() 
    {
        return verifyStatus;
    }
    public void setPromotionPrice(BigDecimal promotionPrice) 
    {
        this.promotionPrice = promotionPrice;
    }

    public BigDecimal getPromotionPrice() 
    {
        return promotionPrice;
    }
    public void setStock(Long stock) 
    {
        this.stock = stock;
    }

    public Long getStock() 
    {
        return stock;
    }
    public void setLowStock(Long lowStock) 
    {
        this.lowStock = lowStock;
    }

    public Long getLowStock() 
    {
        return lowStock;
    }
    public void setGiftPoint(Long giftPoint) 
    {
        this.giftPoint = giftPoint;
    }

    public Long getGiftPoint() 
    {
        return giftPoint;
    }
    public void setPromotionType(Long promotionType) 
    {
        this.promotionType = promotionType;
    }

    public Long getPromotionType() 
    {
        return promotionType;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setIsDelete(Long isDelete) 
    {
        this.isDelete = isDelete;
    }

    public Long getIsDelete() 
    {
        return isDelete;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("brandId", getBrandId())
            .append("regionId", getRegionId())
            .append("name", getName())
            .append("description", getDescription())
            .append("detailHtml", getDetailHtml())
            .append("price", getPrice())
            .append("stockQuantity", getStockQuantity())
            .append("defaultImg", getDefaultImg())
            .append("albumPics", getAlbumPics())
            .append("serviceIds", getServiceIds())
            .append("verifyStatus", getVerifyStatus())
            .append("promotionPrice", getPromotionPrice())
            .append("stock", getStock())
            .append("lowStock", getLowStock())
            .append("giftPoint", getGiftPoint())
            .append("promotionType", getPromotionType())
            .append("status", getStatus())
            .append("isDelete", getIsDelete())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
